//获得所有的多选框对象
    var fav=document.getElementsByName("fav");
 
//判断是否全选的操作
function checkTest1(th){
    var flag=th.checked;
        for(var i in fav) {
            fav[i].checked = flag;
        }
}
 
function checkTest2() {
    var fav = document.getElementsByName('fav');
    var flag = true;
    var zong = 0;
    var spNum = 0;
 
    // 遍历所有商品复选框（跳过全选复选框）
    for (var i = 1; i < fav.length; i++) {  // 修改循环条件
        // 仅处理商品复选框（排除可能存在的其他无关元素）
        if (!fav[i].classList.contains('product-checkbox')) continue;
 
        // 检查是否所有商品都被选中（用于控制全选框状态）
        if (!fav[i].checked) flag = false;
 
        // 仅在选中时计算价格
        if (fav[i].checked) {
            var productDiv = fav[i].closest('.info.warp');
            // 确保选择器匹配实际DOM结构
            var priceText = productDiv.querySelector('.totalPrice').textContent.replace('￥', '');
            var quantity = Number(productDiv.querySelector('.quantity').value);
 
            zong += parseFloat(priceText) * quantity;
            spNum += quantity;
        }
    }
 
    // 更新全选框状态
    fav[0].checked = spNum > 0 && flag;
 
    // 更新总价和数量显示
    document.getElementById("zongz").textContent = '￥' + zong.toFixed(2);
    document.getElementById("snum").textContent = spNum;
}
 
 
 
function checkTest3(button, increment, productId) {
    // 找到输入框
    var input = document.querySelector('.info[data-product-id="' + productId + '"] .quantity');
 
    // 获取当前值并转换为数字
    var currentValue = Number(input.value);
 
    // 更新值，注意检查最小值
    var newValue = currentValue + increment;
    if (newValue < 0) {
        newValue = 0; // 不允许数量小于0
    }
 
    // 更新输入框的值
    input.value = newValue;
 
    // 找到单价和总价元素
    var unitPriceElement = document.querySelector('.info[data-product-id="' + productId + '"] .info_5 > a'); // 假设单价存储在这里，需要根据实际HTML结构调整
    var totalPriceElement = document.querySelector('.info[data-product-id="' + productId + '"] .totalPrice');
 
    // 获取单价（这里需要根据实际HTML结构调整选择器）
    var unitPrice = parseFloat(unitPriceElement.textContent.replace('￥', ''));
 
    // 计算总价格
    var totalPrice = unitPrice * newValue;
 
    // 更新总价显示
    totalPriceElement.textContent = '￥' + totalPrice.toFixed(2);
    checkTest2();
}
 
//删除指定的节点
function checkTest4(th) {
    // 使用 closest 方法找到最近的带有 class="info warp" 的 div 元素
    var div = th.closest('.info.warp');
    if (div) {
        div.remove();
    }
}
 
// 页面加载完成后执行初始化
window.onload = function() {
    // 为所有商品复选框绑定事件
    document.querySelectorAll('input[name="fav"].product-checkbox').forEach(checkbox => {
        checkbox.addEventListener('change', checkTest2);
    });
    
    // 初始化计算总价
    checkTest2();
};
//获得所有的多选框对象
    var fav=document.getElementsByName("fav");
 
//判断是否全选的操作
function checkTest1(th){
    var flag=th.checked;
        for(var i in fav) {
            fav[i].checked = flag;
        }
}
 
function checkTest2() {
    var fav = document.getElementsByName('fav');
    var flag = true;
    var zong = 0;
    var spNum = 0;
 
    // 遍历所有商品复选框（跳过全选复选框）
    for (var i = 1; i < fav.length; i++) {  // 修改循环条件
        // 仅处理商品复选框（排除可能存在的其他无关元素）
        if (!fav[i].classList.contains('product-checkbox')) continue;
 
        // 检查是否所有商品都被选中（用于控制全选框状态）
        if (!fav[i].checked) flag = false;
 
        // 仅在选中时计算价格
        if (fav[i].checked) {
            var productDiv = fav[i].closest('.info.warp');
            // 确保选择器匹配实际DOM结构
            var priceText = productDiv.querySelector('.totalPrice').textContent.replace('￥', '');
            var quantity = Number(productDiv.querySelector('.quantity').value);
 
            zong += parseFloat(priceText) * quantity;
            spNum += quantity;
        }
    }
 
    // 更新全选框状态
    fav[0].checked = spNum > 0 && flag;
 
    // 更新总价和数量显示
    document.getElementById("zongz").textContent = '￥' + zong.toFixed(2);
    document.getElementById("snum").textContent = spNum;
}
 
 
 
function checkTest3(button, increment, productId) {
    // 找到输入框
    var input = document.querySelector('.info[data-product-id="' + productId + '"] .quantity');
 
    // 获取当前值并转换为数字
    var currentValue = Number(input.value);
 
    // 更新值，注意检查最小值
    var newValue = currentValue + increment;
    if (newValue < 0) {
        newValue = 0; // 不允许数量小于0
    }
 
    // 更新输入框的值
    input.value = newValue;
 
    // 找到单价和总价元素
    var unitPriceElement = document.querySelector('.info[data-product-id="' + productId + '"] .info_5 > a'); // 假设单价存储在这里，需要根据实际HTML结构调整
    var totalPriceElement = document.querySelector('.info[data-product-id="' + productId + '"] .totalPrice');
 
    // 获取单价（这里需要根据实际HTML结构调整选择器）
    var unitPrice = parseFloat(unitPriceElement.textContent.replace('￥', ''));
 
    // 计算总价格
    var totalPrice = unitPrice * newValue;
 
    // 更新总价显示
    totalPriceElement.textContent = '￥' + totalPrice.toFixed(2);
    checkTest2();
}
 
//删除指定的节点
function checkTest4(th) {
    // 使用 closest 方法找到最近的带有 class="info warp" 的 div 元素
    var div = th.closest('.info.warp');
    if (div) {
        div.remove();
    }
}
 
// 页面加载完成后执行初始化
window.onload = function() {
    // 为所有商品复选框绑定事件
    document.querySelectorAll('input[name="fav"].product-checkbox').forEach(checkbox => {
        checkbox.addEventListener('change', checkTest2);
    });
    
    // 初始化计算总价
    checkTest2();
};